/*
包含多个基于state 的getter计算的对象
 */
// 导出
export default {
  totalCount(state) {
    //总数量使用数组的方法reduce方法  初始值0
    /**函数 参数1是 初始值或者计算结束后的返回值
     * 参数2 是当前元素
     */
    return state.cartFoods.reduce(
      (pretotal, food) => pretotal + food.count, //在原来的total总和上 再次累加上 count的值
      0
    );
  },

  totalPrice(state) {
    //要统计总价格 使用数组的方法reduce方法  初始值0
    /**函数 参数1是 初始值或者计算结束后的返回值
     * 参数2 是当前元素
     */
    return state.cartFoods.reduce(
      (pretotal, food) => pretotal + food.count * food.price, //在原来的total总和上 再次累加上 count * food的单价
      0
    );
  },

  positiveSize(state) {
    //要统计总满意的评价数量 统计rateType为0 的就是+1 使用数组的方法reduce方法  初始值0
    /**函数 参数1是 初始值或者计算结束后的返回值
     * 参数2 是当前元素
     */
    return state.ratings.reduce(
      (pretotal, ratings) => pretotal + (ratings.rateType === 0 ? 1 : 0),//统计rateType为0 的就是+1 累加
      0
    );
  },
};
